/*
* VFS_Group 19 - IIIT-B, MTech Program, 1st Semester, Data Management.
*
* Header file having prototype of structure for NArray List and all operations
* on it. NArrayTree
*
*/

#ifndef NARRAY_DATASTRUCTURE
#define NARRAY_DATASTRUCTURE

// Structure of a node of an N-Array data structure.
typedef struct fd* nary_pointer;
typedef struct fd nary_node;

// Operations supported by N-Array Data Structure.

/*
*	Inserts a node into in N-Array tree based on "FilePath" starting root node
*	"RootDirectory".
*/

// NArrayNodePointer InsertIntoNArray(NArrayNodePointer RootDirectory, STRING FilePath);

/*
*	Removes the file/folder specified by "FilePathToBeRemoved".
*	RootDirectory : Pointer to Root node of the n-array.
*	FilePathToBeRemoved: complete path of file/folder to removed.
*/
// NArrayNodePointer RemoveFromNArray(NArrayNodePointer RootDirectory,
//								   STRING FilePathToBeRemoved);

/*
*	Searches for the file/folder specified by "FilePathToBeRemoved".
*	RootDirectory : Pointer to Root node of the n-array.
*	FilePathToBeRemoved: complete path of file/folder to removed.
*/
// NArrayNodePointer SearchInNArray(NArrayNodePointer RootDirectory,
//								   STRING FilePathToBeRemoved);

/*
*	Gets list of files/folders in directory specified by "FolderPath".
*	RootDirectory : Pointer to Root node of the n-array.
*	FilePathToBeRemoved: complete path of file/folder to removed.
*/
// NArrayNodePointer* GetListOfSiblings(NArrayNodePointer RootDirectory,
//								   STRING FolderPath);


#endif
